//npm install nodemailer --save

import nodemailer from "nodemailer";
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "1"
function newCreate(conf){
		let self={}
		var smtp =conf.邮箱;
		var 发送方 =conf.发送方;
		var 密码 =conf.授权码; //授权吗不是密码 需要在设置中 开通smtp功能 时 会产生
		
		self.send=function(接收方,标题,文本内容,html内容,okback,errback) {
		    var transporter = nodemailer.createTransport({
		        host: smtp,
				//service: 'QQex',
				secure: true, // 使用 SSL
				secureConnection: true, // 使用 SSL
				port: 994, // SMTP 端口
		        auth: {
		            user: 发送方,
		            pass: 密码 //授权码
		        }
		    });
		    var mailOptions = {
		        from: 发送方, // 发送者
		        to: 接收方, // 接受者,可以同时发送多个,以逗号隔开
		        subject: 标题, // 标题
		    };
		    if(文本内容 != undefined)
		    {
		        mailOptions.text =文本内容;// 文本
		    }
		    if(html内容 != undefined)
		    {
		        mailOptions.html =html内容;// html
		    }
		
		    var result = {
		        httpCode: 200,
		        message: '发送成功!',
		    }
		    try {
		        transporter.sendMail(mailOptions, function (err, info) {
		            if (err&&errback) {
		                result.httpCode = 500;
		                result.message = err;
		                errback(result);
		                return;
		            }
		            okback(result);
		        });
		    } catch (err) {
				if(errback){
					result.httpCode = 500;
					result.message = err;
					errback(result);
				}
		       
		    }
		
		}
		return self;
	}
let conf={邮箱:'smtp.163.com',发送方:'zdy-ah@163.com',授权码:'UDKTGOHTZOBOTHVL'}
let email=	newCreate(conf);
// email.send('37798955@qq.com',"测试nodejs发送邮件","<br>感觉你收到这封测试邮件<br>","感觉你收到这封测试邮件<br>",function(e){
// 	console.log(e)
// })
export default email
